Skip to content

v0.33: enterprise batch — evidence report, adoption baseline, JUnit, score history, MCP report tool#317

Merged
raccioly merged 3 commits into
mainfrom
claude/dotguard-enterprise-features-dff8d7
Jul 16, 2026
Merged

v0.33: enterprise batch — evidence report, adoption baseline, JUnit, score history, MCP report tool#317
raccioly merged 3 commits into
mainfrom
claude/dotguard-enterprise-features-dff8d7

Conversation

@raccioly

Copy link
Copy Markdown
Owner

Summary

The enterprise-readiness batch for the next release, developed against a GitBook/docs-platform gap analysis, market research, and a pre-release adversarial review.

Features

  • docguard report — commit-stamped compliance-evidence bundle (guard verdict, findings by code, CDD score, ALCOA+, fix history) with a tamper-evident sha256 integrity hash. Evidence, not a gate (always exits 0). Also exposed as the docguard_report MCP tool (5 → 6 tools).
  • Adoption baselineguard --update-baseline freezes a legacy repo's findings into a committed .docguard.baseline.json (fingerprint → occurrence count); guard/ci then gate only NEW drift, suppression always disclosed. Validated end-to-end on a real brownfield repo (exit 1 → freeze 64 findings → exit 0 → restore).
  • guard --format junit — testcase-per-validator XML for GitLab/Jenkins/Azure/CircleCI; crashed validators render as <error>, never a silent pass.
  • Score history + score --trendci records each run to .docguard/history.jsonl; trend shows sparkline + delta. CI persistence + multi-repo scorecard recipes included.
  • ci un-deprecated and pipeline-safe — direct dispatch (the v0.20 routing scaffolded docs into the CI workspace and corrupted --format json), read-only, severity-aware gating identical to guard, threshold failures recorded as FAIL.

Pre-release adversarial review

An independent review pass found 12 issues (3 high) which are all fixed here with regression tests — including baseline fingerprints suppressing new same-class findings (now occurrence-counted) and the evidence report hiding baseline suppression.

Docs

Enterprise Adoption section, GitBook/docs-platform comparison, ETH Zurich enforcement-over-instructions citation, de-rotted What's New, FAQ brownfield question, GitLab/Jenkins recipes, and ci.yml now dogfoods every new surface.

Test plan

  • 1018/1018 tests passing (was 984)
  • Self-guard 0 errors, self-score 100/100 A+
  • Read-only validation on 4 real repos; baseline flow on taxes_helper
  • CI matrix (Node 18/20/22/24) exercises ci/trend/report/junit/baseline steps added in this PR

🤖 Generated with Claude Code

raccioly and others added 3 commits July 15, 2026 21:58
…e history, MCP report tool

- `docguard report`: commit-stamped compliance-evidence bundle (guard
  verdict, findings by code, CDD score, ALCOA+, fix history) with a
  tamper-evident sha256 integrity hash over the git-stable sections;
  always exits 0 (evidence, not a gate). Also exposed as the
  `docguard_report` MCP tool (stdio + HTTP, tool count 5 → 6).
- Adoption baseline: `guard --update-baseline` freezes existing findings
  into a committed `.docguard.baseline.json` (fingerprint → occurrence
  count, ESLint semantics); guard/ci then gate only NEW drift, with
  suppression always disclosed (summary line, baselineSuppressed in
  JSON/report/history). `--no-baseline` / `"baseline": false` opt out;
  malformed baselines fail open on visibility.
- `guard --format junit`: testcase-per-validator XML for GitLab/Jenkins/
  Azure/CircleCI; error findings → <failure>, crashed validators →
  <error> (never a silent pass), warn-only → <system-out>, n/a →
  <skipped/>.
- Score history: `ci` appends per-run entries to .docguard/history.jsonl
  (atomic trim, silent-on-failure); `score --trend` renders sparkline,
  delta, and the last 10 runs.
- `ci` un-deprecated and made pipeline-safe: direct dispatch (no more
  init routing that scaffolded docs into the CI workspace and corrupted
  --format json), in READ_ONLY_COMMANDS, gates on severity-aware
  effective counts like guard, and records threshold/fail-on-warning
  failures as FAIL (exit code derives from the same status).
- DocGuard's own files (.docguard.json, .docguardignore,
  .docguard.baseline.json) exempt from Docs-Coverage DCV001.

Includes fixes for all 12 findings from the pre-release adversarial
review (H1–H3, M1–M4, L1–L4), each with a regression test.
Tests: 984 → 1018, all passing. Validated read-only against 4 real
repos; baseline flow validated end-to-end on a brownfield repo.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ogfooded CI

- README: new Enterprise Adoption section (baseline, report, three CI
  formats, trend, MCP, ALCOA+); command table + counts 18 → 20; What's
  New de-rotted from "v0.16 → v0.19" to the current v0.29 → v0.33 line;
  Why-DocGuard now cites the ETH Zurich AGENTS.md study (instructions
  are ignored; enforcement wins).
- COMPARISONS: "CDD vs Docs Platforms (GitBook/ReadMe/Docsie)" —
  platforms publish, DocGuard proves; audit-trail differentiator.
- CI-RECIPES: 1b GitLab (allow_failure exit_codes) + Jenkins (gate on
  errors, warnings unstable), 4b history persistence via actions/cache,
  4c zero-dependency multi-repo scorecard.
- docs/: commands (report/junit/baseline/trend), configuration
  ("baseline" key), FAQ (brownfield adoption question).
- PHILOSOPHY: enforcement-over-instructions added to Academic
  Foundations. ROADMAP: Phase 5 items partially delivered CLI-side.
- ci.yml: dogfood every new surface — ci gate + history, trend, report
  (integrity asserted), JUnit XML validity, full baseline roundtrip.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…s, market research

Cerebrum decision log (batch scope, review lessons H1–H3/M1–M4, research
synthesis), buglog entries bug-228 and bug-247…250, session memory.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@raccioly
raccioly merged commit 6be5a91 into main Jul 16, 2026
9 checks passed
@raccioly
raccioly deleted the claude/dotguard-enterprise-features-dff8d7 branch July 16, 2026 04:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant